Xtp is a utility for retrieving, listing, or printing files from a remote network site, or sending files to a remote network site. xtp performs most of the same functions as the ftp program, but does not require any interactive commands. You simply specify the file transfer task on the command line and xtp performs the task automatically.
To retrieve file display.tar.Z from host wizard.dupont.com, use:
xtp -binary -retrieve display.tar.Z wizard.dupont.com
To retrieve all the files from directory public/documents from host wizard.dupont.com, use:
xtp -binary -retrieve documents/ wizard.dupont.com public
Retrieved files are stored on your local host directory as the full name of the retrieved file. For example, if the retrieved file is named documents/xtp.man on the remote FTP server, it will appear in your home directory as documents/xtp.man.
If -user is specified but not -ident, the password is obtained from you interactively.
If neither -print, -retrieve, or -send are specified on the command line, a directory of files is listed for the remote network host.
xtp recursively descends the directory hierarchy from the home directory. Some remote hosts may have thousands of files causing a significant delay satisfying your request. This can be wasteful if the files you are interested in reside in a known directory. You can reduce the searching required by specifying <home directory> on the command line. This limits the filename search to the specified directory and any of its subdirectories. Alternatively, -prune restricts the search to the home directory only.
If only the program name is specified on the command line, the program command syntax and options are listed.
A branch is zero or more pieces, concatenated. It matches a match for the first, followed by a match for the second, etc.
A piece is an atom possibly followed by *, +, or ?. An atom followed by * matches a sequence of 0 or more matches of the atom. An atom followed by + matches a sequence of 1 or more matches of the atom. An atom followed by ? matches a match of the atom, or the null pattern.
An atom is a regular expression in parentheses (matching a match for the regular expression), a range (see below), . (matching any single character), ^ (matching the null pattern at the beginning of the input pattern), $ (matching the null pattern at the end of the input pattern), a ' followed by a single character (matching that character), or a single character with no other significance (matching that character).
A range is a sequence of characters enclosed in []. It normally matches any single character from the sequence. If the sequence begins with ^, it matches any single character not from the rest of the sequence. If two characters in the sequence are separated by -, this is shorthand for the full list of ASCII characters between them (e.g. [0-9] matches any decimal digit). To include a literal ] in the sequence, make it the first character (following a possible ^). To include a literal -, make it the first or last character.
Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of E. I. Dupont de Nemours & Company not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. E. I. Dupont de Nemours & Company makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.
E. I. Dupont de Nemours & Company disclaims all warranties with regard to this software, including all implied warranties of merchantability and fitness, in no event shall E. I. Dupont de Nemours & Company be liable for any special, indirect or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in connection with the use or performance of this software.
Henry Spencer, University of Toronto, for the implementation of the regular expression interpreter and the text in REGULAR EXPRESSIONS.